package db

const USERTABLENAME = "user"

type Player struct {
	Pid        string `bson:"pid"`
	UID        string `bson:"uid" json:"uid"`
	Coins      int    `bson:"coins"`
	PlayerName string `bson:"player_name" json:"player_name"`
	ZoneInfo   string `bson:"zone_info" json:"zone_info"`
	// 主角形象相关
	CharacterAppearance string `bson:"character_appearance" json:"character_appearance"`
	VoiceMapping        string `bson:"voice_mapping" json:"voice_mapping"`
	Gender              string `bson:"gender" json:"gender"`
	// 玩家属性
	Experience int `bson:"experience" json:"experience"`
	// 身份等级相关
	IdentityLevel int `bson:"identity_level" json:"identity_level"`
	// 赚速
	IncomeSpeed int `bson:"income_speed" json:"income_speed"`
	// 装饰相关
	Avatar         DecorativeItem `bson:"avatar" json:"avatar"`
	Title          DecorativeItem `bson:"title" json:"title"`
	AvatarFrame    DecorativeItem `bson:"avatar_frame" json:"avatar_frame"`
	ChatBubble     DecorativeItem `bson:"chat_bubble" json:"chat_bubble"`
	ChatTitle      DecorativeItem `bson:"chat_title" json:"chat_title"`
	Exp            int            `json:"exp" bson:"exp"`
	Level          int64          `json:"level" bson:"level"`
	Sids           SystemIdList   `json:"sids" bson:"sids"`
	ShouChongInfo  []ShouChong    `json:"shou_chong_info" bson:"shou_chong_info"`
	VipDianShu     int            `bson:"vip_dian_shu" json:"vip_dian_shu"`
	Vip            int            `json:"vip" bson:"vip"`
	LastShouRuTime int64          `bson:"last_shou_ru_time" json:"last_shou_ru_time"`
	UnionId        int32          `bson:"union_id" json:"union_id"`
	XuanChuanTiLi  int            `json:"xuan_chuan_ti_li" bson:"xuan_chuan_ti_li"`
	IsFirst        bool           `bson:"is_first" json:"is_first"`
}

type SystemIdList struct {
	Ids []int `json:"ids"`
}

// DecorativeItem 装饰物品结构体
type DecorativeItem struct {
	Obtained        bool   `bson:"obtained" json:"obtained"`
	ObtainCondition string `bson:"obtain_condition" json:"obtain_condition"`
	Validity        string `bson:"validity" json:"validity"`
	DisplayType     string `bson:"display_type" json:"display_type"`
	Id              int64  `bson:"id" json:"id"`
	Name            string `bson:"name" json:"name"`
	Description     string `json:"description" bson:"description"`
}

type ShouChong struct {
	DangWei     int  `json:"dang_wei" bson:"dang_wei"`
	IsShouChong bool `json:"is_shou_chong" bson:"is_shou_chong"`
}
